/**
 * SKills.java
 */
package edu.gatech.startrader.player;

/**
 * Skills Class
 * This class controls all the skills of a player.
 * @author Team Bamf (Team 30)
 * @version 1.0
 */
public class Skills {
	
	/**
	 * The pilot skill determines how well the player pilots the ship. 
	 * A high piloting skill will make it easier to
	 *  flee from attacks easily, dodge attacks, 
	 * and to stay on the tail of fleeing ships if 
	 * the player want to keep attacking them. 
	 * The piloting skill is important to both traders and pirates.
	 */
	private int pilot;
	
	/**
	 * The fighter skill determines how well the player handles weapons and dexterity.
	 * This skill is most suited for a pirate.
	 */
	private int fighter;
	
	/**
	 * The engineer skill determines how well the player keeps the ship in shape. 
	 * A good engineer may keep the hull and shields intact during a fight, 
	 * will repair them quicker while traveling, and may even
	 *  enhance weaponry so it does more damage.
	 */
	private int engineer;
	
	/**
	 * The trader skill determines what prices must be paid
	 *  for trade goods, ships, and equipment. 
	 * A good trader can reduce prices up to 10%. 
	 * This makes a high trader skill invaluable for traders, 
	 * while pirates have less use for it.
	 */
	private int trader;
	
	/**
	 * Skills Constructor
	 * This constructor sets Skill points for a Player
	 * @param pilotPoints sets pilot skill points of the player
	 * @param fighterPoints sets fighter skill points of the player
	 * @param engineerPoints sets engineer skill points of the player
	 * @param traderPoints sets trader skill points of the player
	 */	
	public Skills(int pilotPoints, int fighterPoints, int engineerPoints, int traderPoints) {
		pilot = pilotPoints;
		fighter = fighterPoints;
		engineer = engineerPoints;
		trader = traderPoints;
	}
	
	/**
	 * getPilot method
	 * This method gets the player's pilot skill points
	 * @return pilot skills points
	 */
	public int getPilot() {
		return pilot;
	}

	/**
	 * setPilot method
	 * This method sets the player's pilot skill points
	 * @param p the pilot skill
	 */
	public void setPilot(int p) {
		pilot = p;
	}

	/**
	 * getFighter method
	 * This method gets the player's fighter skill points
	 * @return fighter skills points
	 */	
	public int getFighter() {
		return fighter;
	}
	
	/**
	 * setFighter method
	 * This method sets the player's fighter skill points
	 * @param f fighter skill points
	 */	
	public void setFighter(int f) {
		fighter = f;
	}

	/**
	 * getEngineer method
	 * This method gets the player's engineer skill points
	 * @return engineer skills points
	 */	
	public int getEngineer() {
		return engineer;
	}

	/**
	 * setEngineer method
	 * This method sets the player's engineer skill points
	 * @param e engineer skill points
	 */
	public void setEngineer(int e) {
		engineer = e;
	}
	
	/**
	 * getTrader method
	 * This method gets the player's trader skill points
	 * @return trader skills points
	 */	
	public int getTrader() {
		return trader;
	}

	/**
	 * setTrader method
	 * This method sets the player's trader skill points
	 * @param t trader skill method
	 */
	public void setTrader(int t) {
		trader = t;
	}
	
	/**
	 * toString method
	 * Prints out how the player's skill points have been allocated
	 * @return the object as String
	 */	
	public String toString() {
		return "\n" +
				"Pilot: " + pilot + "\n" +
				"Fighter: " + fighter + "\n" +
				"Engineer : " + engineer + "\n" +
				"Trader: " + trader;
	}
}
